Unified communications (UC) systems such as VoIP systems offer applications that are enabled by the integration of computer systems with telephony services. A VoIP system typically includes a number of devices, such as switches and servers, distributed across one or more sites that make up the system. As used herein, a site represents a grouping of resources. The resources may be grouped according to location, in which case different sites may be physically distinct from each other, or they may be grouped based on other factors, in which case different sites may or may not be physically distinct from each other.
Availability is an important metric for a VoIP system. Availability is often used to compare services provided by a VoIP system to those provided by a public switched telephone network (PSTN). To achieve required levels of availability, many VoIP systems are designed to have redundancies that can be used in the event of a failure in the system. Redundancies are typically designed on a site-by-site basis, however, because each site has different configuration requirements (e.g., different time zones, language preferences, dialing prefixes, local area codes, etc.). Thus, to achieve required levels of availability, redundant capacity is needed at each site. Availability can be improved by adding additional levels of redundancy. Increasing redundancy by adding additional devices at each site, however, is costly. For example, an “N+1” level of redundancy requires sufficient extra capacity at each site to support the failure of any single device.
Thus, there is a need for improved methods and systems for providing redundancy in a VoIP system.